/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.patpro.modelo.DAO.persistencia;

import com.patpro.modelo.DAO.interfaces.CursoInterfaz;
import com.patpro.modelo.javabeans.Curso;
import java.util.List;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

/**

 */
public class CursoJDBCPersistence implements CursoInterfaz {

    private JdbcTemplate plantilla;

    public JdbcTemplate getPlantilla() {
        return plantilla;
    }

    public void setPlantilla(JdbcTemplate plantilla) {
        this.plantilla = plantilla;
    }

    public int actualizarCurso(Curso curso) {
        String sql = (curso.getId_curso()>0)
                            ?"update t_curso set descripcion=?,numeroCreditos=?,resumen=?,tipo =?,codigoCurso=?  where T_Curso_ID="+curso.getId_curso()
                            :"insert into t_curso(descripcion,numeroCreditos,resumen,tipo,codigoCurso) values(?,?,?,?,?) ";
	 return plantilla.update (sql,
                           new Object[] {
                                 curso.getDescripcion(),
                                 curso.getNumeroCreditos(),
                                 curso.getResumen(),
                                 curso.isTipo(),
                                 curso.getCodigoCurso()
                              });
    }

    public int eliminarCurso(Curso curso) {
         String sql = "delete from  t_curso WHERE T_Curso_ID = ?";
	 return plantilla.update(sql,curso.getId_curso());
    }

    public List<Curso> listarCursos() {
        String sql = "SELECT T_Curso_ID as id_curso,descripcion,numeroCreditos,resumen,tipo,codigoCurso  FROM t_curso ";
        return plantilla.query(
                        sql,new BeanPropertyRowMapper(Curso.class));
    }

    public Curso buscarCurso(int id_curso) {
        String sql = "SELECT T_Curso_ID as id_curso,descripcion,numeroCreditos,resumen,tipo,codigoCurso  FROM t_curso where T_Curso_ID=? ";

        List<Curso> resultado = plantilla.query(sql,new Object[]{id_curso},
                                    new BeanPropertyRowMapper(Curso.class));
        return (resultado.size()>0)?(Curso)resultado.get(0) :null;
    }

    

}
